package fr.afcepf.al23.qualite.exception;

/**
 * Exceptions.
 * @author elise
 *
 */
public class QualityException extends Exception {

    /**
     * serialisation.
     */
    private static final long serialVersionUID = 1L;

    /**
     * Enumeration des codes d'erreurs.
     */
    private static enum ErrorCode {
        /**
         * Lors de l'enregistrement de l'utilisateur.
         */
        MAIL_EXISTE,
        /**
         * Lors du passage de la commande.
         */
        COMMANDE_INVALIDE
    };

    /**
     * code de l'erreur de l'exception.
     */
    private ErrorCode code;

    /**
     * Constructeur vide avec la super qui va générer les autres méthodes.
     */
    public QualityException() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @param paramMessage arg msg
     * @param paramCause arg cause
     * @param paramEnableSuppression arg enableSuppression
     * @param paramWritableStackTrace arg WritableStackTrace
     */
    public QualityException(String paramMessage, Throwable paramCause,
            boolean paramEnableSuppression, boolean paramWritableStackTrace) {
        super(paramMessage, paramCause, paramEnableSuppression,
                paramWritableStackTrace);
        // TODO Auto-generated constructor stub
    }

    /**
     * @param paramMessage arg Message
     * @param paramCause arg Causse
     */
    public QualityException(String paramMessage, Throwable paramCause) {
        super(paramMessage, paramCause);
        // TODO Auto-generated constructor stub
    }

    /**
     * @param paramMessage arg Message
     */
    public QualityException(String paramMessage) {
        super(paramMessage);
        // TODO Auto-generated constructor stub
    }

    /**
     * @param paramCause arg Cause
     */
    public QualityException(Throwable paramCause) {
        super(paramCause);
        // TODO Auto-generated constructor stub
    }

}
